package cn.com.xcf.dao.mapper;

import cn.com.xcf.dao.model.TCheckIncome;
import cn.com.xcf.dao.model.TCheckIncomeExample;
import com.xcf.entity.Page;
import com.xcf.util.PageData;

import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface TCheckIncomeMapper {
    /**
     * 新增的分页查询接口
     * @param example
     * @return
     */
    List<TCheckIncome> querylistPage(TCheckIncomeExample example);
    int updateItemStatus(Map param);

    /***
     * 查询待办列表
     * @param page
     * @return
     */
    List queryUndolistPage(Page page);

    TCheckIncome selectByPrimaryKey(Long id);

    List queryDetailById(Map map);

    long countByExample(TCheckIncomeExample example);

    int deleteByExample(TCheckIncomeExample example);

    int insert(TCheckIncome record);

    int insertSelective(TCheckIncome record);

    List<TCheckIncome> selectByExample(TCheckIncomeExample example);

    int updateByExampleSelective(@Param("record") TCheckIncome record, @Param("example") TCheckIncomeExample example);

    int updateByExample(@Param("record") TCheckIncome record, @Param("example") TCheckIncomeExample example);    
    
    List queryInvoiceDeptlistPage(Page page);
    
    List queryFeeListPage(@Param("pd") PageData pd);
    
    Object getUndoListItem(@Param("itemId") String itemId);
    
    Object queryExchangeRate();
    
    void batchInsertDivFeeItems(@Param("list") List<PageData> list);
    
    void batchRemoveFeeItems(@Param("list") List<PageData> list);
    
    void insertInvoiceApp(@Param("pd") PageData pd);
    
    Object getInvoiceAppCode(@Param("param") Map<String, Object>  param);
    
    List getopenTicketFeeType();
    
    double getChangeTicketFee(@Param("id") int id);
    
    List<Map<String,Object>> getOpenTicketFeeItems(Map map);
    
    void insertInvoiceAppItem(Map map);
    
}